home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-9.10-netbook-remix-PL.iso / casper / filesystem.squashfs / usr / share / hplip / ui4 / faxsetupdialog.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2009-10-28  |  9KB  |  229 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import operator
  5. from base.g import *
  6. from base import device, utils
  7. from prnt import cups
  8. from base.codes import *
  9. from ui_utils import *
  10. from PyQt4.QtCore import *
  11. from PyQt4.QtGui import *
  12. from faxsetupdialog_base import Ui_Dialog
  13. from deviceuricombobox import DEVICEURICOMBOBOX_TYPE_FAX_ONLY
  14. fax_enabled = prop.fax_build
  15. if fax_enabled:
  16.     
  17.     try:
  18.         from fax import fax
  19.     except ImportError:
  20.         fax_enabled = False
  21.     except:
  22.         None<EXCEPTION MATCH>ImportError
  23.     
  24.  
  25. None<EXCEPTION MATCH>ImportError
  26. if not fax_enabled:
  27.     log.error('Fax disabled.')
  28.  
  29.  
  30. class FaxSetupDialog(QDialog, Ui_Dialog):
  31.     
  32.     def __init__(self, parent, device_uri):
  33.         QDialog.__init__(self, parent)
  34.         self.setupUi(self)
  35.         self.device_uri = device_uri
  36.         self.initUi()
  37.         self.dev = None
  38.         self.user_settings = UserSettings()
  39.         self.user_settings.load()
  40.         self.user_settings.debug()
  41.         QTimer.singleShot(0, self.updateUi)
  42.  
  43.     
  44.     def initUi(self):
  45.         self.connect(self.CancelButton, SIGNAL('clicked()'), self.CancelButton_clicked)
  46.         self.connect(self.FaxComboBox, SIGNAL('DeviceUriComboBox_noDevices'), self.FaxComboBox_noDevices)
  47.         self.connect(self.FaxComboBox, SIGNAL('DeviceUriComboBox_currentChanged'), self.FaxComboBox_currentChanged)
  48.         self.FaxComboBox.setType(DEVICEURICOMBOBOX_TYPE_FAX_ONLY)
  49.         self.setWindowIcon(QIcon(load_pixmap('hp_logo', '128x128')))
  50.         if self.device_uri:
  51.             self.FaxComboBox.setInitialDevice(self.device_uri)
  52.         
  53.         self.NameCompanyLineEdit.setMaxLength(50)
  54.         self.FaxNumberLineEdit.setMaxLength(50)
  55.         self.FaxNumberLineEdit.setValidator(PhoneNumValidator(self.FaxNumberLineEdit))
  56.         self.VoiceNumberLineEdit.setMaxLength(50)
  57.         self.VoiceNumberLineEdit.setValidator(PhoneNumValidator(self.VoiceNumberLineEdit))
  58.         self.EmailLineEdit.setMaxLength(50)
  59.         self.connect(self.NameCompanyLineEdit, SIGNAL('editingFinished()'), self.NameCompanyLineEdit_editingFinished)
  60.         self.connect(self.NameCompanyLineEdit, SIGNAL('textChanged(const QString &)'), self.NameCompanyLineEdit_textChanged)
  61.         self.connect(self.FaxNumberLineEdit, SIGNAL('editingFinished()'), self.FaxNumberLineEdit_editingFinished)
  62.         self.connect(self.FaxNumberLineEdit, SIGNAL('textChanged(const QString &)'), self.FaxNumberLineEdit_textChanged)
  63.         self.connect(self.VoiceNumberLineEdit, SIGNAL('editingFinished()'), self.VoiceNumberLineEdit_editingFinished)
  64.         self.connect(self.VoiceNumberLineEdit, SIGNAL('textChanged(const QString &)'), self.VoiceNumberLineEdit_textChanged)
  65.         self.connect(self.EmailLineEdit, SIGNAL('editingFinished()'), self.EmailLineEdit_editingFinished)
  66.         self.connect(self.EmailLineEdit, SIGNAL('textChanged(const QString &)'), self.EmailLineEdit_textChanged)
  67.         self.name_company_dirty = False
  68.         self.fax_number_dirty = False
  69.         self.voice_number_dirty = False
  70.         self.email_dirty = False
  71.  
  72.     
  73.     def updateUi(self):
  74.         if not fax_enabled:
  75.             FailureUI(self, self._FaxSetupDialog__tr('<b>PC send fax support is not enabled.</b><p>Re-install HPLIP with fax support or use the device front panel to send a fax.</p><p>Click <i>OK</i> to exit.</p>'))
  76.             self.close()
  77.             return None
  78.         self.FaxComboBox.updateUi()
  79.  
  80.     
  81.     def FaxComboBox_currentChanged(self, device_uri):
  82.         self.device_uri = device_uri
  83.         self.updateCoverpageTab()
  84.         if self.dev is not None:
  85.             self.dev.close()
  86.         
  87.         
  88.         try:
  89.             self.dev = fax.getFaxDevice(self.device_uri)
  90.         except Error:
  91.             CheckDeviceUI(self)
  92.             return None
  93.  
  94.         self.updateHeaderTab()
  95.  
  96.     
  97.     def FaxComboBox_noDevices(self):
  98.         FailureUI(self, self._FaxSetupDialog__tr('<b>No devices that require fax setup found.</b>'))
  99.         self.close()
  100.  
  101.     
  102.     def NameCompanyLineEdit_editingFinished(self):
  103.         self.saveNameCompany(unicode(self.NameCompanyLineEdit.text()))
  104.  
  105.     
  106.     def NameCompanyLineEdit_textChanged(self, s):
  107.         self.name_company_dirty = True
  108.  
  109.     
  110.     def saveNameCompany(self, s):
  111.         self.name_company_dirty = False
  112.         beginWaitCursor()
  113.         
  114.         try:
  115.             log.debug('Saving station name %s to device' % s)
  116.             self.dev.setStationName(s)
  117.         except Error:
  118.             CheckDeviceUI()
  119.         finally:
  120.             endWaitCursor()
  121.  
  122.  
  123.     
  124.     def FaxNumberLineEdit_editingFinished(self):
  125.         self.saveFaxNumber(unicode(self.FaxNumberLineEdit.text()))
  126.  
  127.     
  128.     def FaxNumberLineEdit_textChanged(self, s):
  129.         self.fax_number_dirty = True
  130.  
  131.     
  132.     def saveFaxNumber(self, s):
  133.         self.fax_number_dirty = False
  134.         beginWaitCursor()
  135.         
  136.         try:
  137.             log.debug('Saving fax number %s to device' % s)
  138.             self.dev.setPhoneNum(s)
  139.         except Error:
  140.             CheckDeviceUI()
  141.         finally:
  142.             endWaitCursor()
  143.  
  144.  
  145.     
  146.     def VoiceNumberLineEdit_editingFinished(self):
  147.         self.saveVoiceNumber(unicode(self.VoiceNumberLineEdit.text()))
  148.  
  149.     
  150.     def VoiceNumberLineEdit_textChanged(self, s):
  151.         self.voice_number_dirty = True
  152.  
  153.     
  154.     def saveVoiceNumber(self, s):
  155.         log.debug('Saving voice number (%s) to ~/.hplip/hplip.conf' % s)
  156.         self.voice_number_dirty = False
  157.         self.user_settings.voice_phone = s
  158.         self.user_settings.save()
  159.  
  160.     
  161.     def EmailLineEdit_editingFinished(self):
  162.         self.saveEmail(unicode(self.EmailLineEdit.text()))
  163.  
  164.     
  165.     def EmailLineEdit_textChanged(self, s):
  166.         self.email_dirty = True
  167.  
  168.     
  169.     def saveEmail(self, s):
  170.         log.debug('Saving email address (%s) to ~/.hplip/hplip.conf' % s)
  171.         self.email_dirty = False
  172.         self.user_settings.email_address = s
  173.         self.user_settings.save()
  174.  
  175.     
  176.     def CancelButton_clicked(self):
  177.         self.close()
  178.  
  179.     
  180.     def updateHeaderTab(self):
  181.         beginWaitCursor()
  182.         
  183.         try:
  184.             name_company = self.dev.getStationName()
  185.             log.debug("name_company = '%s'" % name_company)
  186.             self.NameCompanyLineEdit.setText(name_company)
  187.             fax_number = self.dev.getPhoneNum()
  188.             log.debug("fax_number = '%s'" % fax_number)
  189.             self.FaxNumberLineEdit.setText(fax_number)
  190.         except Error:
  191.             CheckDeviceUI()
  192.         finally:
  193.             endWaitCursor()
  194.  
  195.  
  196.     
  197.     def updateCoverpageTab(self):
  198.         voice_phone = self.user_settings.voice_phone
  199.         log.debug("voice_phone = '%s'" % voice_phone)
  200.         self.VoiceNumberLineEdit.setText(voice_phone)
  201.         email_address = self.user_settings.email_address
  202.         log.debug("email_address = '%s'" % email_address)
  203.         self.EmailLineEdit.setText(email_address)
  204.  
  205.     
  206.     def closeEvent(self, e):
  207.         if self.voice_number_dirty:
  208.             self.VoiceNumberLineEdit.emit(SIGNAL('editingFinished()'))
  209.         
  210.         if self.name_company_dirty:
  211.             self.NameCompanyLineEdit.emit(SIGNAL('editingFinished()'))
  212.         
  213.         if self.email_dirty:
  214.             self.EmailLineEdit.emit(SIGNAL('editingFinished()'))
  215.         
  216.         if self.fax_number_dirty:
  217.             self.FaxNumberLineEdit.emit(SIGNAL('editingFinished()'))
  218.         
  219.         if self.dev is not None:
  220.             self.dev.close()
  221.         
  222.         e.accept()
  223.  
  224.     
  225.     def __tr(self, s, c = None):
  226.         return qApp.translate('FaxSetupDialog', s, c)
  227.  
  228.  
  229.